Definition Was ist Continuous Integration (CI)?

Von Laimingas 2 min Lesedauer

Anbieter zum Thema

Continuous Integration (kontinuierliche Integration) bezeichnet eine Methode in der Software-Entwicklung, bei der Codeänderungen von verschiedenen Mitarbeitern an einem Projekt automatisch in dieses integriert werden.

Grundlagenwissen zum IT-Business(Bild:  © adiruch na chiangmai - Fotolia.com)
Grundlagenwissen zum IT-Business
(Bild: © adiruch na chiangmai - Fotolia.com)

Wenn in einem umfangreichen Software-Projekt neu geschriebene Codeteile in den Quellcode übertragen werden, kommt es häufig zu Problemen, die die Entwicklung von Anwendungen verzögern bzw. in die Länge ziehen. Deshalb setzen mehr und mehr Entwicklerteams mittlerweile auf die Continuous Integration, bei der Änderungen des Codes in der Regel täglich oder sogar mehrmals täglich in das Projekt einfließen und Fehler frühzeitig erkannt werden können.

In früheren Jahren haben Software-Entwickler zwar innerhalb eines Teams, aber trotzdem weitgehend isoliert an ihren jeweiligen Aufgaben gearbeitet. Sämtliche Änderungen wurden erst dann zusammengeführt, wenn sie vollständig abgeschlossen waren. Diese Vorgehensweise hatte den Nachteil, dass das Zusammenführen von Codes und Codeänderungen zeitaufwendig und schwierig war und sich Bugs auf lange Sicht ohne korrigierende Eingriffe ansammeln konnten. Dadurch wurde auch die Bereitstellung von Updates für die Kunden erschwert.

Bei der Continuous Integration führen die einzelnen Entwickler sämtliche Codeänderungen regelmäßig an zentraler Stelle (Repository) zusammen, wo sie dann automatisiert erstellt und getestet werden. So können nicht nur Bugs schneller entdeckt und behoben werden. Gleichzeitig lässt sich die Qualität einer Software optimieren sowie der Zeitraum der Validierung und Einführung von Aktualisierungen verkürzen. Insgesamt trägt die Continuous Integration dazu bei, den Erstellungsprozess von Software zu rationalisieren.

Zentraler Faktor: das Repository

Einer der wichtigsten Faktoren für ein reibungsloses Funktionieren der Continuous Integration ist, dass sämtliche Mitglieder des Entwicklungsteams dasselbe Repository nutzen, wenn sie an ihren einzelnen Codeabschnitten arbeiten. Das gilt nicht nur für den reinen Quelltext, sondern auch für andere Elemente, die für eine gut funktionierende Anwendung erforderlich sind, beispielsweise Datenbanken, die ebenfalls an einem Ort gesammelt und gebündelt werden müssen. Ein Repository sollte deshalb derart aufgebaut sein, dass ein Entwickler jederzeit auch mit einem völlig neuen Arbeitsrechner mitwirken kann und alle benötigten Daten an einem zentralen Ort vorfindet.

Einhaltung von Grundregeln

Für ein erfolgreiches Zusammenspiel der einzelnen Entwickler ist neben einem zentralen Repository bedeutsam, dass die Team-Mitglieder sich ausnahmslos an zuvor aufgestellte Regeln halten. Diese basieren meist auf den Grundsätzen für eine erfolgreiche Continuous Integration, die der britisch-amerikanische Software-Entwickler Martin Fowler aufgestellt hat. Die Regeln sollen sicherstellen, dass alle beteiligten Entwickler sich auf dem gleichen Level befinden und ein etwaiges Chaos durch unterschiedliche Vorgehensweisen vermieden wird.

Nachteile der Continuous Integration

Neben den genannten Vorteilen hat die CI auch einige Nachteile. So kann es sein, dass eingespielte Teams zunächst neue Arbeitsabläufe lernen und deshalb mehr Zeit aufwenden müssen. Zudem erfordert die Continuous Integration zusätzliche Server, was zu einer komplexeren IT-Infrastruktur führt. Und schließlich sind zeitliche Engpässe zu erwarten, wenn mehrere Entwickler gleichzeitig versuchen, ihren Code in das Gesamtprojekt zu integrieren.

(ID:50087674)

Wissen, was läuft

Täglich die wichtigsten Infos aus dem ITK-Markt

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung